package com.zhc.dejingapi.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author zhc
 * @since 2024-09-26
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("form")
@ApiModel(value = "FormEntity对象", description = "")
public class FormEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId("form_id")
    private Integer formId;

    @ApiModelProperty("应用的唯一键")
    @TableField("app_key")
    private String appKey;

    @ApiModelProperty("工作区id")
    @TableField("ws_id")
    private Integer wsId;

    @ApiModelProperty("用户的id，为空时则为匿名")
    @TableField("uid")
    private Integer uid;

    @ApiModelProperty("发布状态：0刚创建；1发布后有修改；2发布后没有修改")
    @TableField("app_publish_status")
    private Integer appPublishStatus;

    @ApiModelProperty("表单标题")
    @TableField("form_title")
    private String formTitle;

    @ApiModelProperty("申请数量")
    @TableField("apply_num")
    private Integer applyNum;

    @ApiModelProperty("表单被打开申请页面的次数")
    @TableField("apply_view_count")
    private Integer applyViewCount;

    @ApiModelProperty("表单描述")
    @TableField("form_desc")
    private String formDesc;

    @ApiModelProperty("主题id,0为默认")
    @TableField("theme_id")
    private Integer themeId;

    @ApiModelProperty("额外的域名")
    @TableField("alias_domain")
    private String aliasDomain;

    @ApiModelProperty("创建时间")
    @TableField("create_time")
    private LocalDateTime createTime;

    @ApiModelProperty("最后更新时间")
    @TableField("last_upd_time")
    private LocalDateTime lastUpdTime;

    @ApiModelProperty("表单月提交量")
    @TableField("apply_month_total")
    private Integer applyMonthTotal;

    @ApiModelProperty("表单附件总量，B为单位")
    @TableField("capacity_num")
    private Long capacityNum;

    @ApiModelProperty("是否被删除")
    @TableField("is_deleted")
    private Boolean isDeleted;

    @TableField("last_publish_time")
    private LocalDateTime lastPublishTime;

    @ApiModelProperty("应用可见权限，1-2:工作区可见，指定用户可见")
    @TableField("app_auth")
    private Integer appAuth;

    @ApiModelProperty("应用的排序，显示的越靠前的应用，序号越大")
    @TableField("ordinal")
    private Integer ordinal;

    @TableField("being_deleted")
    private Boolean beingDeleted;

    @TableField("qmail_send_num")
    private Integer qmailSendNum;

    @ApiModelProperty("编号的类型，1：系统默认，2：自定义")
    @TableField("serial_num_type")
    private Integer serialNumType;

    @ApiModelProperty("应用的短信发送量")
    @TableField("qmessage_send_num")
    private Integer qmessageSendNum;

    @ApiModelProperty("是否同步mysjtu")
    @TableField("sync_mysjtu")
    private Boolean syncMysjtu;

    @ApiModelProperty("同步到mysjtu的哪个分类下,1学生工作，2生活服务")
    @TableField("mysjtu_type")
    private Integer mysjtuType;

    @TableField("uuid")
    private String uuid;

    @ApiModelProperty("应用的icon")
    @TableField("app_icon")
    private String appIcon;

    @ApiModelProperty("电子签章使用量")
    @TableField("e_sign_num")
    private Integer eSignNum;

    @ApiModelProperty("ocr用量")
    @TableField("ocr_num")
    private Integer ocrNum;

    @ApiModelProperty("是否包含选项份额")
    @TableField("being_apply_limit")
    private Integer beingApplyLimit;

    @TableField("from_solution")
    private Boolean fromSolution;

    @ApiModelProperty("如果是来自于解决方案，记录解决方案的key")
    @TableField("from_solution_key")
    private String fromSolutionKey;

    @ApiModelProperty("外部用户权限类型 NOT：不可用，ALL：所有外部用户可见，APECIFIC：指定成员可见")
    @TableField("external_auth")
    private String externalAuth;


}
